<?php

namespace services\payment\wx;

use think\Request;
use think\Response;
use Sanyc\WxPay\sdk\WxPayNotify;
use Sanyc\WxPay\sdk\WxPayResults;
use Sanyc\WxPay\sdk\WxPayApi;

class Notify extends WxPayNotify
{
    //重写回调处理函数
    public function NotifyProcess($data, &$msg)
    {
        \think\Log::record($data);
        if ($data && array_key_exists("return_code", $data) && array_key_exists("result_code", $data) && $data["return_code"] == "SUCCESS" && $data["result_code"] == "SUCCESS") {
            $out_trade_no = $data['out_trade_no'];
            if ($data['attach'] == 'order') {
                return $this->setOrderStatus($out_trade_no);
            }elseif ($data['attach'] == 'recharge') {
                return $this->setRechargeInfo($out_trade_no);
            }
        }
        return false;
    }
    protected function setOrderStatus($order_id)
    {
        return model('Orders')->completeOrder($order_id);
    }
    protected function setRechargeInfo($order_id)
    {
        return model('Intergrateadds')->completeOrder($order_id);
    }

}
// <xml><appid><![CDATA[wx5a1090e16a2f3e95]]></appid>
// <attach><![CDATA[test]]></attach>
// <bank_type><![CDATA[CFT]]></bank_type>
// <cash_fee><![CDATA[2]]></cash_fee>
// <fee_type><![CDATA[CNY]]></fee_type>
// <is_subscribe><![CDATA[Y]]></is_subscribe>
// <mch_id><![CDATA[1419891902]]></mch_id>
// <nonce_str><![CDATA[ismpgicakce4lxvmmt6z6kmlebh65yds]]></nonce_str>
// <openid><![CDATA[oEnxIw_1wAGBb4ei73sQcsUt7JQg]]></openid>
// <out_trade_no><![CDATA[141989190220161216093831]]></out_trade_no>
// <result_code><![CDATA[SUCCESS]]></result_code>
// <return_code><![CDATA[SUCCESS]]></return_code>
// <sign><![CDATA[92C036BF4BD5EB06FDE36CDF69037DCE]]></sign>
// <time_end><![CDATA[20161216093840]]></time_end>
// <total_fee>2</total_fee>
// <trade_type><![CDATA[NATIVE]]></trade_type>
// <transaction_id><![CDATA[4007692001201612162933289420]]></transaction_id>
// </xml>